package com.zzyl.nursing.job;


import com.baidubce.qianfan.Qianfan;
import com.baidubce.qianfan.core.auth.Auth;
import com.baidubce.qianfan.model.chat.ChatResponse;
import com.zzyl.common.utils.PDFUtil;

import java.io.FileInputStream;

public class AIModelTest {

    private static final String prompt = "你能帮我分析一份完整的体检报告吗？";

    public static void main(String[] args) {
        /**
         * 第一个参数：认证类型，固定选择 Auth.TYPE_OAUTH
         * 第二个参数：accessKeyId，从百度云控制台创建的应用里可以找到
         * 第三个参数：accessKeySecret，从百度云控制台创建的应用里可以找到
         */
        Qianfan qianfan = new Qianfan(Auth.TYPE_OAUTH, "lQEGlC8cpKrXt3SXfIU7CYbe", "YDtfWYerEuuwm64dcyOr0vQVuhRlXNTI");

        // Qianfan qianfan = new Qianfan(Auth.TYPE_BEARER,"bce-v3/ALTAK-KVgx0ymqXCE2QgpMAnJtI/a26173b4f9ef6664a588d33d899ffc8b2a129e95");


        ChatResponse response = null;
        try {
            response = qianfan.chatCompletion()
                    // 模型名称，要选择自己开通付费的模型
                    .model("ernie-4.0-8k")
                    .addMessage("user", prompt) // 聊天内容，可以设置多个，每个消息包含role（角色，user表示用户，assistant表示模型），content（消息内容）
    //                .temperature(0.7) // 采样参数，取值范围(0,1]
    //                .maxOutputTokens(2000) // 模型输出最大长度，取值范围[2, 2048]
    //                .responseFormat("json_object")  // 模型输出格式，取值范围：text（文本）、json_object（JSON对象）
                    .execute();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        String result = response.getResult();
        System.out.println(result);
    }


    // public static void main(String[] args) throws Exception{
    //     FileInputStream fileInputStream = new FileInputStream("d:\\体检报告-刘爱国-男-69岁.pdf");
    //     String s = PDFUtil.pdfToString(fileInputStream);
    //     System.out.println(s);
    // }



}
